
const path = require('path')
function resolve(dir) {
    return path.join(__dirname, dir)
}

module.exports = {
    // lintOnSave: false, //如果为false，就是取消eslint规则的检查
    productionSourceMap: false,
    // 输出解析文件的目录 线上要加./
    publicPath: process.env.NODE_ENV === 'production' ? './' : '/',
    assetsDir: "assets", //静态文件夹
    indexPath: "index.html", //打包后系统自动打开首页，不设置会白屏
    outputDir: process.env.outputDir,//打包出来的名称可以不设置

    devServer: {
        port: process.env.port, // 端口
        open: true, //自动打开浏览器
        proxy: { //跨域请求
            '/api': {
                target: process.env.VUE_APP_URL, //要请求的地址
                ws: true, // 启用websockets
                changeOrigin: true, // 是否跨域
                pathRewrite: {
                    '^/api': ''
                }
            }
        },
    },

    // sass公用样式
    css: {
        loaderOptions: {
            sass: {
                //依次导入的公用的scss变量，公用的scss混入，共用的默认样式
                prependData: `
                @import "./src/assets/css/variable.scss";
                `
            }
        }
    },

    chainWebpack(config) {
        //配置全局目录 写路径的时候可以直接@/等
        config.resolve.alias
            .set('@', resolve('src'))

        //使用svg·
        config.module
            .rule('svg')
            .exclude.add(resolve('src/assets/icons'))
            .end();
        config.module
            .rule('icons')
            .test(/\.svg$/)
            .include.add(resolve('src/assets/icons'))
            .end()
            .use('svg-sprite-loader')
            .loader('svg-sprite-loader')
            .options({
                symbolId: 'icon-[name]'
            })
            .end()
    }
};
